Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the DMA-trace removal and related kernel-tree consolidation.
No open issues 🎉
What changed in this PR
Removes the unused SOF DMA trace as part of the kernel/user-space partitioning work in #11306. This builds on #11420’s architecture and platform relocation, keeping Zephyr logging and host trace output while removing obsolete trace infrastructure.
Changes:
- Removes DMA-trace configuration, initialization, IPC helpers, state fields, and related debug code.
- Moves probe logging options into
src/kernel/loggingand decouples host logging fromCONFIG_TRACE. - Updates build paths, test configurations, ownership rules, and documentation for the consolidated kernel tree.
| File | Description |
|---|---|
| zephyr/include/sof/trace/trace.h | Removes obsolete DMA-trace comment. |
| zephyr/include/sof/trace/preproc.h | Removes obsolete configuration guard. |
| zephyr/include/rtos/sof.h | Removes DMA-trace context fields. |
| tools/tplg_parser/CMakeLists.txt | Updates relocated host include paths. |
| tools/testbench/README.md | Updates documented defconfig path. |
| tools/testbench/CMakeLists.txt | Updates host configuration and include paths. |
| test/ztest/unit/objpool/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/matrix/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/fft/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/fft_multi/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/dct/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/auditory/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/math/advanced/functions/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/fast-get/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/dsrc/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/audio/drc/CMakeLists.txt | Updates POSIX include path. |
| test/ztest/unit/audio/crossover/CMakeLists.txt | Updates POSIX include path. |
| test/cmocka/src/lib/fast-get/CMakeLists.txt | Updates platform memory source path. |
| test/cmocka/src/lib/alloc/CMakeLists.txt | Updates platform source and include paths. |
| test/cmocka/src/common_mocks.c | Removes obsolete trace mocks. |
| test/cmocka/configs/rembrandt_defconfig | Removes trace-channel setting. |
| test/cmocka/configs/acp_7_x_defconfig | Removes trace-channel setting. |
| test/cmocka/configs/acp_7_0_defconfig | Removes trace-channel setting. |
| test/cmocka/CMakeLists.txt | Updates Intel platform include paths. |
| src/trace/CMakeLists.txt | Removes DMA-trace build rules. |
| src/kernel/platform/tigerlake/include/platform/trace/trace.h | Relocates Tiger Lake trace header. |
| src/kernel/platform/tigerlake/include/platform/platform.h | Relocates Tiger Lake platform definitions. |
| src/kernel/platform/tigerlake/include/platform/lib/memory.h | Removes conditional DMA-trace allocation. |
| src/kernel/platform/tigerlake/include/platform/lib/mailbox.h | Relocates Tiger Lake mailbox header. |
| src/kernel/platform/README.md | Updates platform location and documentation link. |
| src/kernel/platform/qemu_xtensa/platform.c | Relocates QEMU platform stubs. |
| src/kernel/platform/qemu_xtensa/include/platform/trace/trace.h | Relocates QEMU trace definitions. |
| src/kernel/platform/qemu_xtensa/include/platform/platform.h | Relocates QEMU platform definitions. |
| src/kernel/platform/qemu_xtensa/include/platform/lib/memory.h | Relocates QEMU memory definitions. |
| src/kernel/platform/qemu_xtensa/include/platform/lib/mailbox.h | Relocates QEMU mailbox stubs. |
| src/kernel/platform/qemu_xtensa/include/platform/lib/dma.h | Relocates QEMU DMA definitions. |
| src/kernel/platform/qemu_xtensa/include/platform/lib/dai.h | Relocates QEMU DAI placeholder. |
| src/kernel/platform/qemu_xtensa/include/platform/lib/clk.h | Relocates QEMU clock definitions. |
| src/kernel/platform/posix/include/platform/trace/trace.h | Relocates POSIX trace stub. |
| src/kernel/platform/posix/include/platform/platform.h | Relocates POSIX platform definitions. |
| src/kernel/platform/posix/include/platform/lib/pm_runtime.h | Relocates POSIX power-management stubs. |
| src/kernel/platform/posix/include/platform/lib/memory.h | Relocates POSIX memory definitions. |
| src/kernel/platform/posix/include/platform/lib/mailbox.h | Relocates POSIX mailbox stubs. |
| src/kernel/platform/posix/include/platform/lib/dma.h | Relocates POSIX DMA definitions. |
| src/kernel/platform/posix/include/platform/lib/dai.h | Relocates POSIX DAI definitions. |
| src/kernel/platform/posix/include/platform/lib/cpu.h | Relocates POSIX CPU declarations. |
| src/kernel/platform/posix/include/platform/lib/clk.h | Relocates POSIX clock declarations. |
| src/kernel/platform/posix/include/platform/fuzz.h | Relocates simulator fuzzing interface. |
| src/kernel/platform/posix/include/platform/drivers/interrupt.h | Relocates POSIX interrupt definitions. |
| src/kernel/platform/posix/include/platform/drivers/idc.h | Relocates POSIX inter-core messaging stub. |
| src/kernel/platform/novalake/lib/clk.c | Relocates Nova Lake clock table. |
| src/kernel/platform/novalake/include/platform/trace/trace.h | Relocates Nova Lake trace stub. |
| src/kernel/platform/novalake/include/platform/platform.h | Relocates Nova Lake platform definitions. |
| src/kernel/platform/novalake/include/platform/lib/mailbox.h | Relocates Nova Lake mailbox header. |
| src/kernel/platform/novalake/include/platform/lib/clk.h | Relocates Nova Lake clock definitions. |
| src/kernel/platform/mtk/tools/README.txt | Relocates AFE generator documentation. |
| src/kernel/platform/mtk/tools/build.sh | Updates generator source and include paths. |
| src/kernel/platform/mtk/include/platform/trace/trace.h | Relocates MediaTek trace placeholder. |
| src/kernel/platform/mtk/include/platform/platform.h | Relocates MediaTek platform definitions. |
| src/kernel/platform/mtk/include/platform/lib/pm_runtime.h | Relocates MediaTek power-management stubs. |
| src/kernel/platform/mtk/include/platform/lib/mailbox.h | Relocates MediaTek mailbox definitions. |
| src/kernel/platform/mtk/include/platform/lib/dma.h | Relocates MediaTek DMA definitions. |
| src/kernel/platform/mtk/include/platform/lib/dai.h | Relocates MediaTek DAI placeholder. |
| src/kernel/platform/mtk/include/platform/lib/cpu.h | Relocates MediaTek CPU definitions. |
| src/kernel/platform/mtk/include/platform/lib/clk.h | Relocates MediaTek clock definitions. |
| src/kernel/platform/meteorlake/lib/clk.c | Relocates Meteor Lake clock table. |
| src/kernel/platform/meteorlake/include/platform/trace/trace.h | Relocates Meteor Lake trace stub. |
| src/kernel/platform/meteorlake/include/platform/platform.h | Relocates Meteor Lake platform definitions. |
| src/kernel/platform/meteorlake/include/platform/lib/mailbox.h | Relocates Meteor Lake mailbox header. |
| src/kernel/platform/meteorlake/include/platform/lib/clk.h | Relocates Meteor Lake clock definitions. |
| src/kernel/platform/lunarlake/lib/clk.c | Relocates Lunar Lake clock table. |
| src/kernel/platform/lunarlake/include/platform/trace/trace.h | Relocates Lunar Lake trace stub. |
| src/kernel/platform/lunarlake/include/platform/platform.h | Relocates Lunar Lake platform definitions. |
| src/kernel/platform/lunarlake/include/platform/lib/mailbox.h | Relocates Lunar Lake mailbox header. |
| src/kernel/platform/lunarlake/include/platform/lib/clk.h | Relocates Lunar Lake clock definitions. |
| src/kernel/platform/library/schedule/CMakeLists.txt | Relocates host scheduler build rules. |
| src/kernel/platform/library/platform.c | Relocates host platform initialization. |
| src/kernel/platform/library/panic.c | Relocates host panic implementation. |
| src/kernel/platform/library/lib/trace.c | Removes DMA-trace header dependency. |
| src/kernel/platform/library/lib/pm_runtime.c | Relocates host power-management stubs. |
| src/kernel/platform/library/lib/dai.c | Relocates host DAI initialization. |
| src/kernel/platform/library/lib/CMakeLists.txt | Builds host trace support unconditionally. |
| src/kernel/platform/library/lib/clk.c | Relocates host clock stubs. |
| src/kernel/platform/library/lib/alloc.c | Relocates host allocation implementation. |
| src/kernel/platform/library/init.c | Relocates host SOF context. |
| src/kernel/platform/library/include/platform/platform.h | Relocates host platform definitions. |
| src/kernel/platform/library/include/platform/lib/pm_runtime.h | Relocates host power-management header. |
| src/kernel/platform/library/include/platform/lib/ll_schedule.h | Relocates host scheduler declarations. |
| src/kernel/platform/library/include/platform/lib/dma.h | Relocates host DMA definitions. |
| src/kernel/platform/library/include/platform/lib/dai.h | Relocates host DAI definitions. |
| src/kernel/platform/library/include/platform/lib/cpu.h | Relocates host CPU definitions. |
| src/kernel/platform/library/include/platform/lib/clk.h | Relocates host clock definitions. |
| src/kernel/platform/library/include/platform/drivers/pmc.h | Relocates host power-controller declarations. |
| src/kernel/platform/library/include/platform/drivers/idc.h | Relocates host inter-core messaging stubs. |
| src/kernel/platform/library/CMakeLists.txt | Relocates host platform build rules. |
| src/kernel/platform/intel/cavs/include/cavs/version.h | Relocates cAVS version definitions. |
| src/kernel/platform/intel/cavs/include/cavs/trace/trace.h | Relocates cAVS trace-point implementation. |
| src/kernel/platform/intel/cavs/include/cavs/mem_window.h | Relocates memory-window declarations. |
| src/kernel/platform/intel/cavs/include/cavs/lib/power_down.h | Relocates power-down interface. |
| src/kernel/platform/intel/cavs/include/cavs/lib/memory.h | Relocates cAVS memory definitions. |
| src/kernel/platform/intel/cavs/include/cavs/ext_manifest.h | Relocates cAVS manifest definitions. |
| src/kernel/platform/intel/cavs/include/cavs/drivers/timestamp.h | Relocates timestamp register definitions. |
| src/kernel/platform/intel/cavs/include/cavs/drivers/sideband-ipc.h | Relocates sideband IPC register definitions. |
| src/kernel/platform/intel/cavs/include/cavs/drivers/mn.h | Relocates clock-divider register definitions. |
| src/kernel/platform/intel/ace/include/auth/intel_status_logger_api.h | Relocates status-logger interface. |
| src/kernel/platform/intel/ace/include/ace/version.h | Relocates ACE version definitions. |
| src/kernel/platform/intel/ace/include/ace/lib/memory.h | Relocates ACE memory header. |
| src/kernel/platform/intel/ace/include/ace/lib/clk.h | Relocates ACE clock declarations. |
| src/kernel/platform/imx95/linker/data-sections.ld | Relocates firmware metadata linker section. |
| src/kernel/platform/imx95/lib/clk.c | Relocates i.MX95 clock initialization. |
| src/kernel/platform/imx95/include/platform/trace/trace.h | Relocates i.MX95 trace placeholder. |
| src/kernel/platform/imx95/include/platform/platform.h | Relocates i.MX95 platform definitions. |
| src/kernel/platform/imx95/include/platform/lib/memory.h | Relocates i.MX95 memory definitions. |
| src/kernel/platform/imx95/include/platform/lib/mailbox.h | Relocates i.MX95 mailbox definitions. |
| src/kernel/platform/imx95/include/platform/lib/dma.h | Relocates i.MX95 DMA placeholder. |
| src/kernel/platform/imx95/include/platform/lib/clk.h | Relocates i.MX95 clock declarations. |
| src/kernel/platform/imx93_a55/lib/clk.c | Relocates i.MX93 clock initialization. |
| src/kernel/platform/imx93_a55/include/platform/trace/trace.h | Relocates i.MX93 trace placeholder. |
| src/kernel/platform/imx93_a55/include/platform/platform.h | Relocates i.MX93 platform definitions. |
| src/kernel/platform/imx93_a55/include/platform/lib/memory.h | Relocates i.MX93 memory definitions. |
| src/kernel/platform/imx93_a55/include/platform/lib/dma.h | Relocates i.MX93 DMA definitions. |
| src/kernel/platform/imx93_a55/include/platform/lib/dai.h | Relocates i.MX93 DAI placeholder. |
| src/kernel/platform/imx93_a55/include/platform/lib/clk.h | Relocates i.MX93 clock declarations. |
| src/kernel/platform/imx93_a55/include/platform/drivers/idc.h | Relocates i.MX93 inter-core messaging stub. |
| src/kernel/platform/imx8ulp/platform.c | Removes DMA-trace initialization. |
| src/kernel/platform/imx8ulp/lib/clk.c | Relocates i.MX8ULP clock initialization. |
| src/kernel/platform/imx8ulp/include/platform/trace/trace.h | Relocates i.MX8ULP trace stub. |
| src/kernel/platform/imx8ulp/include/platform/lib/dma.h | Relocates i.MX8ULP DMA definitions. |
| src/kernel/platform/imx8ulp/include/platform/lib/dai.h | Relocates i.MX8ULP DAI placeholder. |
| src/kernel/platform/imx8ulp/include/platform/lib/cpu.h | Relocates i.MX8ULP CPU definitions. |
| src/kernel/platform/imx8ulp/include/platform/lib/clk.h | Relocates i.MX8ULP clock declarations. |
| src/kernel/platform/imx8ulp/include/platform/drivers/interrupt.h | Relocates i.MX8ULP interrupt definitions. |
| src/kernel/platform/imx8ulp/include/platform/drivers/idc.h | Relocates i.MX8ULP inter-core messaging stubs. |
| src/kernel/platform/imx8ulp/include/arch/xtensa/config/defs.h | Relocates Xtensa compatibility header. |
| src/kernel/platform/imx8m/platform.c | Removes DMA-trace initialization and include. |
| src/kernel/platform/imx8m/lib/clk.c | Relocates i.MX8M clock initialization. |
| src/kernel/platform/imx8m/include/platform/trace/trace.h | Relocates i.MX8M trace stub. |
| src/kernel/platform/imx8m/include/platform/platform.h | Relocates i.MX8M platform definitions. |
| src/kernel/platform/imx8m/include/platform/lib/pm_runtime.h | Relocates i.MX8M power-management stubs. |
| src/kernel/platform/imx8m/include/platform/lib/dma.h | Relocates i.MX8M DMA definitions. |
| src/kernel/platform/imx8m/include/platform/lib/dai.h | Relocates i.MX8M DAI placeholder. |
| src/kernel/platform/imx8m/include/platform/lib/cpu.h | Relocates i.MX8M CPU definitions. |
| src/kernel/platform/imx8m/include/platform/lib/clk.h | Relocates i.MX8M clock declarations. |
| src/kernel/platform/imx8m/include/platform/drivers/idc.h | Relocates i.MX8M inter-core messaging stubs. |
| src/kernel/platform/imx8m/include/arch/xtensa/config/defs.h | Relocates Xtensa compatibility header. |
| src/kernel/platform/imx8m_cm7/linker/data-sections.ld | Relocates firmware metadata linker section. |
| src/kernel/platform/imx8m_cm7/lib/clk.c | Relocates Cortex-M7 clock initialization. |
| src/kernel/platform/imx8m_cm7/include/platform/trace/trace.h | Relocates Cortex-M7 trace placeholder. |
| src/kernel/platform/imx8m_cm7/include/platform/platform.h | Relocates Cortex-M7 platform definitions. |
| src/kernel/platform/imx8m_cm7/include/platform/lib/memory.h | Relocates Cortex-M7 memory definitions. |
| src/kernel/platform/imx8m_cm7/include/platform/lib/mailbox.h | Relocates Cortex-M7 mailbox definitions. |
| src/kernel/platform/imx8m_cm7/include/platform/lib/dma.h | Relocates Cortex-M7 DMA placeholder. |
| src/kernel/platform/imx8m_cm7/include/platform/lib/clk.h | Relocates Cortex-M7 clock declarations. |
| src/kernel/platform/imx8/lib/clk.c | Relocates i.MX8 clock initialization. |
| src/kernel/platform/imx8/include/platform/trace/trace.h | Relocates i.MX8 trace stub. |
| src/kernel/platform/imx8/include/platform/lib/dma.h | Relocates i.MX8 DMA definitions. |
| src/kernel/platform/imx8/include/platform/lib/dai.h | Relocates i.MX8 DAI placeholder. |
| src/kernel/platform/imx8/include/platform/lib/cpu.h | Relocates i.MX8 CPU definitions. |
| src/kernel/platform/imx8/include/platform/lib/clk.h | Relocates i.MX8 clock declarations. |
| src/kernel/platform/imx8/include/platform/drivers/idc.h | Relocates i.MX8 inter-core messaging stubs. |
| src/kernel/platform/imx8/include/arch/xtensa/config/defs.h | Relocates Xtensa compatibility header. |
| src/kernel/platform/CMakeLists.txt | Relocates host platform build entry. |
| src/kernel/platform/amd/rembrandt/platform.c | Removes DMA-trace allocation and initialization. |
| src/kernel/platform/amd/rembrandt/include/arch/xtensa/config/defs.h | Relocates Xtensa compatibility header. |
| src/kernel/platform/amd/common/include/platform/trace/trace.h | Relocates AMD trace stub. |
| src/kernel/platform/amd/common/include/platform/lib/pm_runtime.h | Relocates AMD power-management stubs. |
| src/kernel/platform/amd/common/include/platform/lib/mailbox.h | Relocates AMD mailbox interface. |
| src/kernel/platform/amd/common/include/platform/lib/dma.h | Relocates AMD DMA definitions. |
| src/kernel/platform/amd/common/include/platform/lib/dai.h | Relocates AMD DAI definitions. |
| src/kernel/platform/amd/common/include/platform/lib/cpu.h | Relocates AMD CPU definitions. |
| src/kernel/platform/amd/common/include/platform/lib/clk.h | Relocates AMD clock declarations. |
| src/kernel/platform/amd/common/include/platform/ipc.h | Relocates AMD IPC interface. |
| src/kernel/platform/amd/common/include/platform/drivers/idc.h | Relocates AMD inter-core messaging stubs. |
| src/kernel/platform/amd/common/include/platform/acp_sp_dma.h | Relocates AMD serial-port DMA interface. |
| src/kernel/platform/amd/common/include/platform/acp_dmic_dma.h | Relocates AMD microphone DMA interface. |
| src/kernel/platform/amd/common/include/platform/acp_dma.h | Relocates AMD DMA structures and declarations. |
| src/kernel/platform/amd/acp_7_x/platform.c | Removes DMA-trace include. |
| src/kernel/platform/amd/acp_7_0/platform.c | Removes DMA-trace include. |
| src/kernel/platform/amd/acp_7_0/include/arch/xtensa/config/defs.h | Relocates Xtensa compatibility header. |
| src/kernel/platform/ace30/lib/clk.c | Relocates ACE 3.0 clock table. |
| src/kernel/platform/ace30/include/platform/trace/trace.h | Relocates ACE 3.0 trace stub. |
| src/kernel/platform/ace30/include/platform/platform.h | Relocates ACE 3.0 platform definitions. |
| src/kernel/platform/ace30/include/platform/lib/memory.h | Relocates ACE 3.0 memory definitions. |
| src/kernel/platform/ace30/include/platform/lib/mailbox.h | Relocates ACE 3.0 mailbox header. |
| src/kernel/platform/ace30/include/platform/lib/clk.h | Relocates ACE 3.0 clock definitions. |
| src/kernel/logging/Kconfig | Houses relocated probe logging options. |
| src/kernel/Kconfig | Includes probe logging configuration. |
| src/kernel/ipc/ipc3/helper.c | Removes unused trace notification helpers. |
| src/kernel/init/README.md | Removes obsolete trace initialization description. |
| src/kernel/init/init.c | Removes DMA-trace initialization. |
| src/kernel/CMakeLists.txt | Adds relocated host architecture and platform builds. |
| src/kernel/arch/xtensa/Kconfig | Relocates Xtensa configuration. |
| src/kernel/arch/README.md | Updates architecture location and documentation link. |
| src/kernel/arch/Kconfig | Relocates architecture configuration entry. |
| src/kernel/arch/host/lib/notifier.c | Relocates host notifier implementation. |
| src/kernel/arch/host/lib/CMakeLists.txt | Relocates host architecture library rules. |
| src/kernel/arch/host/lib/ams.c | Relocates host messaging context accessor. |
| src/kernel/arch/host/include/arch/string.h | Relocates host string helpers. |
| src/kernel/arch/host/include/arch/sof.h | Relocates host architecture placeholder. |
| src/kernel/arch/host/include/arch/schedule/task.h | Relocates host task placeholder. |
| src/kernel/arch/host/include/arch/lib/wait.h | Relocates host wait stubs. |
| src/kernel/arch/host/include/arch/lib/cpu.h | Relocates host CPU stubs. |
| src/kernel/arch/host/include/arch/lib/cache.h | Relocates host cache stubs. |
| src/kernel/arch/host/include/arch/drivers/timer.h | Relocates host timer stubs. |
| src/kernel/arch/host/include/arch/drivers/interrupt.h | Relocates host interrupt stubs. |
| src/kernel/arch/host/include/arch/drivers/idc.h | Relocates host inter-core messaging placeholder. |
| src/kernel/arch/host/include/arch/debug/panic.h | Relocates host register-dump stub. |
| src/kernel/arch/host/include/arch/debug/backtrace.h | Relocates host backtrace helper. |
| src/kernel/arch/host/include/arch/compiler_info.h | Relocates host compiler metadata definitions. |
| src/kernel/arch/host/configs/library_defconfig | Removes verbose DMA-trace setting. |
| src/kernel/arch/host/CMakeLists.txt | Updates relocated host include paths. |
| src/kernel/arch/CMakeLists.txt | Relocates architecture build entry. |
| src/Kconfig | Updates kernel paths and removes trace configuration. |
| src/ipc/README.md | Updates documented platform driver path. |
| src/ipc/ipc4/helper.c | Removes unused trace notification helpers. |
| src/ipc/CMakeLists.txt | Removes DMA-copy build rules. |
| src/include/sof/userspace/README.md | Documents consolidated kernel-only tree. |
| src/include/sof/ipc/msg.h | Removes trace helper declarations. |
| src/include/sof/ipc/common.h | Removes trace-position API declaration. |
| src/include/sof/debug/debug.h | Removes legacy hexadecimal trace macro. |
| src/debug/panic.c | Removes DMA-trace panic flush. |
| src/CMakeLists.txt | Removes old platform, architecture, and trace entries. |
| src/audio/README.md | Updates documented kernel platform path. |
| src/audio/module_adapter/module/waves/waves.c | Removes legacy verbose trace dumps. |
| src/audio/Kconfig | Removes trace DMA-channel option. |
| scripts/rebuild-testbench.sh | Updates defconfig path in help text. |
| scripts/kernel_user_partition.txt | Updates platform classification and removes deleted header. |
| scripts/cmake/kconfig.cmake | Updates configuration discovery paths. |
| scripts/cmake/defconfigs.cmake | Updates architecture defconfig directory. |
| posix/include/rtos/sof.h | Removes DMA-trace context fields. |
| doc/sof.doxygen.in | Removes obsolete trace predefinition. |
| CODEOWNERS | Updates platform ownership paths. |
| CMakeLists.txt | Updates unit-test architecture path. |
| app/prj.conf | Removes obsolete trace setting. |
| app/CMakeLists.txt | Updates Xtensa include path. |
| app/boards/intel_adsp_ace40_nvls.conf | Removes obsolete trace setting. |
| app/boards/intel_adsp_ace40_nvl.conf | Removes obsolete trace setting. |
| app/boards/imx8mp_evk_mimx8ml8_adsp.conf | Removes obsolete trace setting. |
| app/boards/acp_7_x_adsp.conf | Removes obsolete trace setting. |
| app/boards/acp_7_0_adsp.conf | Removes obsolete trace setting. |
| AGENTS.md | Updates guidance for consolidated kernel tree. |
Review effort: Balanced
The Kconfig options of the SOF probe log backend (CONFIG_LOG_BACKEND_SOF_PROBE*) are defined in src/trace/Kconfig, which is otherwise only about the SOF DMA trace. Move them to a Kconfig file next to the backend, in src/kernel/logging, sourced from src/kernel/Kconfig. The option values are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The host builds (testbench, host library) print their traces to stderr through the CONFIG_LIBRARY part of trace-soflogger.h, which is only included when CONFIG_TRACE is set. CONFIG_TRACE also builds the SOF DMA trace, which the host builds do not need. Move the host printing to a header of its own, trace-host.h, and use it for CONFIG_LIBRARY builds. It maps tr_err(), tr_warn(), tr_info(), tr_dbg() and the component trace macros to the same levels and output as before, which is what the host library got with CONFIG_TRACEV and CONFIG_TRACEE set. Disable CONFIG_TRACE for the host library, build the host trace support unconditionally, and drop CONFIG_TRACEV from library_defconfig. The host library code is unchanged; only the trace contexts move from the .trace_ctx section, which only the firmware dictionary logger uses, to normal data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The SOF DMA trace (CONFIG_TRACE) sends dictionary-encoded traces for the sof-logger tool over a host DMA channel. Zephyr builds use Zephyr logging instead and cannot enable it at all: zephyr/include/sof/trace/ preproc.h stops the build if CONFIG_TRACE is set. Since the previous patch the host builds do not use it either, so nothing builds it any more. Remove it: - src/trace with its Kconfig (CONFIG_TRACE, CONFIG_TRACEV, CONFIG_TRACEE, CONFIG_TRACEM and the trace filtering options), trace-soflogger.h and dma-trace.h; - the IPC DMA copy helper (src/ipc/dma-copy.c) and CONFIG_TRACE_CHANNEL, used only by the DMA trace; - the code under CONFIG_TRACE in the IPC3 handler (the DMA trace and trace filter commands; the stub that accepts trace commands without a DMA trace stays), the i.MX and AMD platform init, the system init, the panic handler and the cmocka mocks, and the DMA trace calls in the IPC3 PM gate handler; - the trace position helpers ipc_build_trace_posn() and ipc_trigger_trace_xfer(), the trace and DMA trace fields of struct sof, and dump_hex() with the two CONFIG_TRACEV blocks in the Waves module that used it; - the CONFIG_TRACE=n settings in the board and application configs, and the CONFIG_TRACE_CHANNEL settings in the cmocka defconfigs. trace.h keeps the Zephyr logging, host and no-op trace macros. The IPC trace structures in include/ipc/trace.h are host ABI and stay. The dma_copy_*() declarations and DMA_TRACE_CHANNEL are still referenced by the legacy (non-native driver) probe and AMD DMA code and are left for the removal of that code. No firmware build compiled the DMA trace itself. The firmware does change in two ways: the unused ipc_build_trace_posn() and ipc_trigger_trace_xfer() are no longer built, and struct sof is two pointers smaller, which changes the field offsets in the code that uses it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
With src/trace removed, src/kernel holds all directories of kernel-only code. Update AGENTS.md and the user-space README, which listed the directories not yet moved there, and the init README, which still described the DMA trace initialization. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
lgirdwood
force-pushed
the
kernel-user/trace-removal
branch
from
November 13, 2026 18:47
99a6202 to
2f1f970
Compare
lgirdwood
marked this pull request as ready for review
November 13, 2026 20:30
lgirdwood
requested review from
abonislawski,
bardliao,
bhiregoudar,
dbaluta,
iuliana-prodan,
kv2019i,
lbetlej,
lyakh,
mmaka1,
pblaszko,
plbossart,
sunilkumardommati and
tmleman
as code owners
November 13, 2026 20:30
PR 11421: test resultsRun date: 2026-11-13 20:59 UTC Tested commit: 2f1f970195f7fd36cd7ce042e7aee0242a2f3fb9 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #11306 (kernel / user-space partition): remove the SOF DMA trace (
src/trace,CONFIG_TRACE). It was the last kernel-only directory outsidesrc/kernel, and nothing builds it any more except the host builds, which only used it to print traces. Follows #11420 (merged).Patches
Move the SOF probe log backend options to
src/kernel/logging. TheCONFIG_LOG_BACKEND_SOF_PROBE*options were defined insrc/trace/Kconfig. They move to a Kconfig file next to the backend; the values are unchanged.Print host build traces without
CONFIG_TRACE.CONFIG_LIBRARYpart oftrace-soflogger.h, which neededCONFIG_TRACE.trace-host.h, with the same levels and output as before.CONFIG_TRACE=n. Its code is unchanged; only the trace contexts move out of.trace_ctx, a section only the firmware dictionary logger uses.Remove the SOF DMA trace. Zephyr builds can't enable it:
zephyr/include/sof/trace/preproc.hstops the build ifCONFIG_TRACEis set. Removed:src/traceand its Kconfig options (TRACE,TRACEV,TRACEE,TRACEMand the filtering options),trace-soflogger.handdma-trace.h;src/ipc/dma-copy.candCONFIG_TRACE_CHANNEL, used only by the DMA trace;CONFIG_TRACEcode in:ipc_build_trace_posn(),ipc_trigger_trace_xfer(), the trace fields ofstruct sof, anddump_hex()with its two WavesCONFIG_TRACEVusers;CONFIG_TRACE=nlines in the board and app configs.Kept:
trace.h, the Zephyr logging, host and no-op trace macros;include/ipc/trace.h;dma_copy_*()declarations andDMA_TRACE_CHANNEL, which the legacy (non-native driver) probe and AMD DMA code still reference. They go with that code (Phase 0b).Docs:
AGENTS.md, the user-space README and the init README no longer listsrc/trace.Functional change
ipc_build_trace_posn()andipc_trigger_trace_xfer()are no longer built;struct sofis two pointers smaller, which changes field offsets in the code that uses it. On i.MX that shows up in the IPC3 helpers andpipeline-graph.c.Testing
CONFIG_SOF_USERSPACE_PROXY=n;os_linux_overlay.conf;llext_relocatable.conf.sof_init()changes size on Cortex-M7 because it embeds the git hash.sof-hda-generic-cavs25-2ch.tplg, comparing main (a206532) and this branch. Both boot, play 5 s, and play again after runtime suspend, with no DSP errors.All of the above was run after rebasing onto a206532 (current main, including #11420).
🤖 Generated with Claude Code